-
Notifications
You must be signed in to change notification settings - Fork 2.4k
feat: Introducing StreamingCredentialsProvider for token based authentication #3320
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…-auth
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but I think the PR title is misleading. From what I understand, this PR doesn't provide the possibility for authentication with a StreamingCredentialsProvider
just yet, instead it introduces the necessary interfaces and already prepares the ground by refactoring the basic auth we were using to use the new Credentials interface.
Reverting this back to Draft, will continue working on it before |
Introduces the StreamingCredentialsProvider as the CredentialsProvider with the highest priority. TODO: needs to be tested
Change CancelProviderFunc to UnsubscribeFunc
ff04986
to
44628c5
Compare
8fd3bd5
to
5fac913
Compare
f7770ce
to
036e1ac
Compare
036e1ac
to
7eea9e7
Compare
Implementation Details and Key Changes
New Authentication Package
auth
package to hold types related to authenticationauth.Credentials
interface to facilitate integration with external credential sourcesbasicAuth
for username/password credentialsStreaming Credentials Provider
StreamingCredentialsProvider
interface for dynamic credential updatesReAuthCredentialsListener
for handling credential updatesDocumentation Updates
Hooks System Enhancement
hooksMixin
to propagate hooks to child connectionsTesting
Security Considerations
Important Note: The hooksMixin refactor will now propagate hooks to child connections and trigger them prior to the initialization process. This change may have security implications, particularly regarding the visibility of authentication commands. For example, Redis MONITOR doesn't report AUTH commands, and this change could potentially expose sensitive authentication information through hooks. This should be carefully considered and potentially documented for users implementing custom hooks.
Related Issues